package com.co.notaweb.bussines;

import java.util.List;

import javax.ejb.Stateless;
import javax.ejb.TransactionAttribute;
import javax.ejb.TransactionAttributeType;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import com.co.notaweb.entities.Colegio;

/**
 * @author PC
 * @version 1.0
 * @created 13-nov-2011 12:14:24
 */
@Stateless
@TransactionAttribute(TransactionAttributeType.MANDATORY)
public class ColegioBussines implements IColegioBussinesLocal {
	@PersistenceContext(unitName = "notaweb")
	private EntityManager em;

	public ColegioBussines() {

	}

	/**
	 * 
	 * @param colegio
	 */
	public void create(Colegio colegio) {
		em.persist(colegio);
	}

	/**
	 * 
	 * @param colegio
	 */
	public void delete(Colegio colegio) {
		em.remove(em.find(colegio.getClass(), colegio.getId()));
	}

	/**
	 * 
	 * @param colegio
	 */
	public void edit(Colegio colegio) {
		em.merge(colegio);
	}

	/**
	 * 
	 * @param id
	 */
	public Colegio find(long id) {
		return em.find(Colegio.class, id);
	}

	/**
	 * 
	 * @param 
	 */
	public List<Colegio> consultarAllColegios() {
		return em.createNamedQuery("Colegio.allColegios").getResultList();}
	
	public List<Colegio> consultarColegiosByDocente(long idDocente) {
		return em.createNamedQuery("Colegio.colegiosByDocente").setParameter("idDocente", idDocente).
				getResultList();
	}	

}